import request from '@/utils/request'

/**
 * @function: 获取表格数据
 * @description: 获取表格数据
 * @author: allen
 * @version: 1.0.0
 * @param {*} params - 查询参数
 * @returns {Promise} - 返回一个包含用户信息的Promise对象
 */
export function getList(params) {
  return request({
    url: '/table/getList',
    method: 'get',
    params
  })
}

/**
 * @function: 获取写入数据
 * @description: 获取需要写入的数据列表
 * @author: allen
 * @version: 1.0.0
 * @returns {Promise} - 返回一个包含写入数据的Promise对象
 */
export function getWriteData(query) {
  return request({
    url: '/table/getWriteList',
    method: 'get',
    params: query
  })
}

/**
 * @function: 设置写入数据
 * @description: 设置需要写入的数据
 * @author: allen
 * @version: 1.0.0
 * @param {*} params - 需要写入的数据
 * @returns {Promise} - 返回一个操作结果的Promise对象
 */
export function setWriteData(params) {
  return request({
    url: '/table/setWrite',
    method: 'get',
    params
  })
}

/**
 * @function: 删除表格数据
 * @description: 删除指定的表格数据
 * @author: allen
 * @version: 1.0.0
 * @param {*} params - 删除的条件参数
 * @returns {Promise} - 返回一个操作结果的Promise对象
 */
export function delTableList(params) {
  return request({
    url: '/table/delTableList',
    method: 'get',
    params
  })
}

/**
 * @function: 下载表格数据
 * @description: 下载指定的表格数据
 * @author: allen
 * @version: 1.0.0
 * @param {*} params - 下载的条件参数
 * @returns {Promise} - 返回一个操作结果的Promise对象
 */
export function downloadTableList(params) {
  return request({
    url: '/table/downloadTableList',
    method: 'get',
    params
  })
}

/**
 * @function: 上传表格数据
 * @description: 上传表格数据
 * @author: allen
 * @version: 1.0.0
 * @param {*} params - 上传的数据参数
 * @returns {Promise} - 返回一个操作结果的Promise对象
 */
export function uploadTableList(params) {
  return request({
    url: '/table/uploadTableList',
    method: 'get',
    params
  })
}

/**
 * @function: 添加节点
 * @description: 添加新的节点
 * @author: allen
 * @version: 1.0.0
 * @param {*} params - 添加的节点信息
 * @returns {Promise} - 返回一个操作结果的Promise对象
 */
export function addNode(params) {
  return request({
    url: '/table/addNode',
    method: 'get',
    params
  })
}
